<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');

class PDF extends FPDF {
	function Header() {
		global $title;
		
		// arial bold 15
		$this->SetFont('Arial','B',15);
		// calculate width of title and position
		$w = $this->GetStringWidth($title)+6;
		$this->SetX((210-$w)/2);
		// colours of frame, background and text
		$this->SetDrawColor(0,80,180);
		$this->SetFillColor(230,230,0);
		$this->SetTextColor(220,50,50);
		// thickness of frame (1 mm)
		$this->SetLineWidth(1);
		// title
		$this->Cell($w,9,$title,1,1,'C',1);
		// line break
		$this->Ln(10);
	}
	
	function Footer() {
		// position at 1.5 cm from bottom
		$this->SetY(-15);
		// arial italic 8
		$this->SetFont('Arial','I',8);
		// text color in grey
		$this->SetTextColor(128);
		// page number
		$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
	}
	
	function ChapterTitle($num,$label) {
		// arial 12
		$this->SetFont('Arial','',12);
		// background color
		$this->SetFillColor(200,220,255);
		// title
		$this->Cell(0,6,"Chapter $num : $label",0,1,'L',1);
		// line break
		$this->Ln(4);
	}
	
	function ChapterBody($file) {
		// read text file
		$f = fopen($file,'r');
		$txt = fread($f,filesize($file));
		fclose($f);
		// times 12
		$this->SetFont('Times','',12);
		// output justified text
		$this->MultiCell(0,5,$txt);
		// line break
		$this->Ln();
		// mention in italics
		$this->SetFont('','I');
		$this->Cell(0,5,'(end of excerpt)');
	}
	
	function PrintChapter($num,$title,$file) {
		$this->AddPage();
		$this->ChapterTitle($num,$title);
		$this->ChapterBody($file);
	}
}

$pdf = new PDF();
$title = '20000 leagues under the sea';
$pdf->SetTitle($title);
$pdf->SetAuthor('Jules Verne');
$pdf->PrintChapter(1,' A RUNAWAY REEF','20k_c1.txt');
$pdf->PrintChapter(2,' THE PROS AND CONS','20k_c2.txt');
$pdf->Output();
?>